package vip.xiaonuo.biz.modular.banner.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.biz.modular.banner.entity.BizBanner;
import vip.xiaonuo.biz.modular.banner.param.BizBannerAddParam;
import vip.xiaonuo.biz.modular.banner.param.BizBannerEditParam;
import vip.xiaonuo.biz.modular.banner.param.BizBannerIdParam;
import vip.xiaonuo.biz.modular.banner.param.BizBannerPageParam;
import vip.xiaonuo.biz.modular.banner.result.BizBannerListResult;

import java.util.List;

/**
 * Banner轮播图服务接口
 *
 * @author SNOWY_TEAM
 **/
public interface BizBannerService extends IService<BizBanner> {

    /**
     * 获取Banner分页列表
     *
     * @param bizBannerPageParam 查询参数
     * @return Banner分页列表
     */
    Page<BizBanner> page(BizBannerPageParam bizBannerPageParam);

    /**
     * 添加Banner
     *
     * @param bizBannerAddParam 添加参数
     */
    void add(BizBannerAddParam bizBannerAddParam);

    /**
     * 编辑Banner
     *
     * @param bizBannerEditParam 编辑参数
     */
    void edit(BizBannerEditParam bizBannerEditParam);

    /**
     * 删除Banner
     *
     * @param bizBannerIdParam Banner ID参数
     */
    void delete(BizBannerIdParam bizBannerIdParam);

    /**
     * 获取Banner详情
     *
     * @param bizBannerIdParam Banner ID参数
     * @return Banner详情
     */
    BizBanner detail(BizBannerIdParam bizBannerIdParam);

    /**
     * 获取已启用的Banner列表，按排序字段排序
     *
     * @return 已启用的Banner列表
     */
    List<BizBannerListResult> getEnabledBannerList();
} 